package com.tjetc.service;

import com.github.pagehelper.PageInfo;
import com.sun.org.apache.xpath.internal.operations.Bool;
import com.tjetc.common.JsonResult;
import com.tjetc.entity.Admin;
import com.tjetc.entity.Merchant;
import com.tjetc.entity.Order;
import com.tjetc.entity.User;
import com.tjetc.entity.view.MerchantOrderDay;
import com.tjetc.model.DateMoneyList;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

public interface AdminService {
    public JsonResult<Admin> login(Admin admin);

    public List<Admin> listAll();

    public PageInfo<Admin> page(int pageNum, int pageSize);

    public Long update(Admin admin);

    public void delete(Admin admin);

    public JsonResult insert(Admin admin);

    public List<Admin> listLike(String username);

    public Long countAdmin();

    public Long countUserWaiting();

    public Long countDishWaiting();

    public Long getTodayOrders(LocalDateTime time);

    public Long getTodayFinishOrders(LocalDateTime time);

    public BigDecimal getTodayOrderMoney(LocalDateTime time);

    public BigDecimal getTodayMerchantMoney(Integer merchantId, LocalDateTime time);

    public Admin getAdminById(Integer id);

    public List<MerchantOrderDay> getMerchantOrderByTodayMoney(LocalDateTime time);

    public DateMoneyList getMerchantDaysMoney(Integer merchantId, LocalDateTime time, Integer day);

    public Boolean addAdminFromUser(List<Integer> ids);

    public List<User> searchUsersNotAdmin();
}
